home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / amok_lha / amok72.lha / while-Interpreter / Source / Quad.MOD < prev    next >
Text File  |  1993-08-15  |  3KB  |  71 lines

  1. (******************************
  2.  * Programm von Dieter Seidel *
  3.  *  Eingegeben am 14.11.1991  *
  4.  * Berechnet die Quadrupel-   *
  5.  * darstellung eines einge-   *
  6.  * gebenen while-Programs und *
  7.  * fuehrt dieses dann aus.    *
  8.  ******************************)
  9.  
  10. (* Schreiben Sie ein Pascal-Programm, das auf Eingabe eines standardisierten *
  11.  * while-Programmes dessen Quadrupel-Darstellung berechnet.                  *
  12.  * Unter einem standardisierten while-Programm verstehen wir ein Programm,   *
  13.  * in demm begin-end-Konstrukte immer in der Form                            *
  14.  *                                                                           *
  15.  *   while X # Y do begin ... end                                            *
  16.  *                                                                           *
  17.  * und nur dort vorkommen (ausser dem begin-end, in das das gesamte Programm *
  18.  * eingeschlossen ist).                                                      *
  19.  *                                                                           *
  20.  * Zeitbedarf:                                                               *
  21.  *                                                                           *
  22.  * Programm bX1:255;X2:255;U3e   --> Multipliziere 255*255                   *
  23.  *     Anweisungen : 195589   Zeit : 364 Sekunden                            *
  24.  *                              ---> 537   Anweisungen pro Sekunde           *)
  25.  
  26. MODULE Quad;
  27.  
  28. FROM InOut            IMPORT Echo, WriteLn, WriteString;
  29. FROM QuadBerechneQuad IMPORT BerechneQuad;
  30. FROM QuadLese         IMPORT arrList, arrQuad, Lese;
  31. FROM QuadDrucke       IMPORT Drucke;
  32. FROM JaNein           IMPORT JaNein;
  33.  
  34. FROM QuadInterpreter  IMPORT Interpreter;
  35. FROM QuadTester       IMPORT Tester;
  36.  
  37.  
  38. VAR BefehlsListe : arrList;
  39.     QuadListe    : arrQuad;
  40.  
  41. BEGIN
  42.   Echo:=FALSE;
  43.   WriteLn;WriteLn;
  44.   WriteString("Dieses Programm wandelt ein eingegebenes while-Programm");
  45.   WriteLn;
  46.   WriteString("in die zugehoerige Quadrupel-Liste;");
  47.   WriteString(" gemaess der Definition nach");
  48.   WriteLn;
  49.   WriteString("Kfoury, Moll und Arbib im Buch 'A Programming Approach to");
  50.   WriteLn;
  51.   WriteString("Computability (Seite 55 bis 58).");WriteLn;
  52.   WriteLn;
  53.  
  54.   WriteString("Soll diese Programm mit vorgegebenen while-Programmen ");
  55.   WriteString("getestet werden ? ");
  56.   IF JaNein() THEN
  57.     IF Tester() THEN
  58.       WriteLn;
  59.       WriteString("Es sind keine Fehler aufgetreten.");
  60.       WriteLn;
  61.     END;
  62.   ELSE
  63.     Lese(BefehlsListe);
  64.     BerechneQuad(BefehlsListe,QuadListe);
  65.     Drucke(BefehlsListe,QuadListe);
  66.     Interpreter(QuadListe);
  67.   END;
  68.   WriteLn;
  69.   WriteLn;
  70. END Quad.
  71.